import service from '@/utils/request.js'

/**
 * 获取今日角色使用排行榜
 * @param {number} limit - 返回数量限制，默认10
 * @returns {Promise} - 返回排行榜数据
 */
export const getTodayRanking = (limit = 10) => {
  return service({
    url: '/ranking/today',
    method: 'GET',
    params: {
      limit
    },
    setting: {
      isToken: true
    }
  });
};

/**
 * 获取角色今日使用次数
 * @param {number} roleId - 角色ID
 * @returns {Promise} - 返回使用次数
 */
export const getRoleTodayUsage = (roleId) => {
  return service({
    url: `/ranking/role/${roleId}/today`,
    method: 'GET',
    setting: {
      isToken: true
    }
  });
};

/**
 * 手动清空今日排行榜数据并预热默认数据（仅供测试）
 * @returns {Promise} - 返回操作结果
 */
export const clearTodayRanking = () => {
  return service({
    url: '/ranking/today',
    method: 'DELETE',
    setting: {
      isToken: true
    }
  });
};

/**
 * 手动预热排行榜默认数据
 * @returns {Promise} - 返回操作结果
 */
export const preloadRanking = () => {
  return service({
    url: '/ranking/preload',
    method: 'POST',
    setting: {
      isToken: true
    }
  });
};